package com.lagou.homework;
/*
* 1.分析以下需求，并用代码实现：
	(1)模拟Arrays.toString(int[] arr);方法，
	自己封装一个public static String toString(int[] arr);
	(2)如果int类型数组arr为null，toString方法返回字符串"null"
	(3)如果int类型数组arr长度为0，toString方法返回字符串"[]"
	(4)如果int类型数组arr的内容为{1,2,3,4,5},toString方法返回字符串"[1, 2, 3, 4, 5]"
*
*
* */
public class Test {
    public static void main(String[] args) {
        // 模拟Arrays.toString(int[] arr)方法
        //1 新建数组arr1为null,并调用toString打印该数组
        int[] arr1 = null;
        System.out.println(toString(arr1));
        //2 创建长度为0的数组arr2 并打印输出数组arr2
        int[] arr2 = new int[0];
        System.out.println(toString(arr2));
        // 创建数组arr3 初始值为 {1,2,3,4,5} 通过toString打印输出数组arr3
        int[] arr3 = {1,2,3,4,5};
        System.out.println(toString(arr3));
    }
    //封装一个public static String toString(int[] arr)
    public static String toString(int[] arr) {
        //当数组为空返回字符串"null"
        if (arr == null)
            return "null";
        //当数组长度为0，返回字符串"[]"
        int Len = arr.length - 1;
        if (Len == -1)
            return "[]";
        //使用无参构造StringBuilder类型的对象
        StringBuilder sb1 = new StringBuilder();
        //添加左括号
        sb1.append('[');
        // 如果是最后一个添加该元素的值以右括号结束
         //  否则是该元素 逗号加空格隔开
        for (int i = 0; ; i++) {
            sb1.append(arr[i]);
            if (i == Len)
                return sb1.append(']').toString();
            sb1.append(", ");
        }
    }
}


